#include <QCoreApplication>
#include <QDebug>
int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
    //int n1=78;
    //double n2=66.6;
    //char n3[20]="粤嵌";
    //字符串的拼接 sprintf
    //QString str=QString("我拼接字符串%1#%2#%3").arg(n1).arg(n2).arg(n3);
    //QString str=QString("我拼接字符串%3#%1#%2").arg(n1).arg(n2).arg(n3);
    //打印结果
    //qDebug()<<str;  //自动换行，不需要写换行符

    //比较字符串--》返回值跟strcmp类似
    //QString str1="hello";
    //QString str2="HeLLo";
    //int ret=str1.compare(str2); //默认是区分大小写
    //int ret=str1.compare(str2,Qt::CaseInsensitive); //不区分大小写
    //qDebug()<<"返回值："<<ret;

    //判断是否包含子串
    //QString str1="helloworld";
    /*
      有同学觉得Qt::CaseSensitive写代码可以用1替换
      实际：不可以，C++编译对于类型转换要求非常严格
      Qt::CaseInsensitive 0
      Qt::CaseSensitive   1
    */
    //bool ret=str1.contains("wo",1); //编译报错
    //bool ret=str1.contains("wo",(Qt::CaseSensitivity)1); //强制转换，编译正确
    //bool ret=str1.contains("wo",Qt::CaseSensitive);
    //qDebug()<<"ret is: "<<ret;

    //截取子串
    //QString str1="hellogec";
    //QString ret=str1.mid(5,3); //下标5开始截取3个字符
    //qDebug()<<"ret is: "<<ret;

    //把整数，小数转成字符串
    //int n4=110;
    //double n5=78.96;
    //QString ret=QString::number(n4,2);  //把110先转成二进制，把二进制转成字符串
    //QString ret=QString::number(n4,8);    //把110先转成8进制，把8进制转成字符串
    //QString ret=QString::number(n4,16);    //把110先转成16进制，把16进制转成字符串

    //QString ret=QString::number(n5);
    //qDebug()<<"ret is: "<<ret;

    //切割字符串-->C语言strtok
    //QString str1="2025-11-4";
    //把年月日切割出来
    //QStringList mylist=str1.split("-");
    //打印结果
//    for(int i=0; i<mylist.size(); i++)
//    {
//        qDebug()<<"结果是: "<<mylist.at(i);
//    }

    //把字符串转成整数，小数
    //QString str1="456";
    //bool ok;
    //int ret=str1.toInt(&ok);
//    int ret=str1.toInt(&ok,8);  //把456当成是8进制，转换得到对应的10进制返回
//    if(ok)
//        qDebug()<<"转换成功: "<<ret;
//    else
//        qDebug()<<"转换失败";

    QString str2="456.89";
    bool ok;
    float ret=str2.toFloat(&ok);
    if(ok)
        qDebug()<<"转换成功: "<<ret;
    else
        qDebug()<<"转换失败";

    return a.exec();
}
